﻿
//	------------------------------------------------------------------------------
//                                       _                          
//              _ __ ___   ___ _ __ ___ | |__  _ __ __ _ _ __   ___ 
//             | '_ ` _ \ / _ \ '_ ` _ \| '_ \| '__/ _` | '_ \ / _ \
//             | | | | | |  __/ | | | | | |_) | | | (_| | | | |  __/
//             |_| |_| |_|\___|_| |_| |_|_.__/|_|  \__,_|_| |_|\___|
//                                                     
//	------------------------------------------------------------------------------

#region - License -
//
//	------------------------------------------------------------------------------                                                   
//	         Copyright (c) 2010 Peter Vyvey (peter.vyvey@chiliware.be)
//	------------------------------------------------------------------------------
//
//
//	This file is part of CHILIWARE MEMBRANE.
//
//	CHILIWARE MEMBRANE is free software: you can redistribute it and/or modify
//	it under the terms of the GNU Lesser General Public License as published by
//	the Free Software Foundation, either version 3 of the License, or
//	(at your option) any later version.
//
//	CHILIWARE MEMBRANE is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//	GNU Lesser General Public License for more details.
//
//	You should have received a copy of the GNU Lesser General Public License
//	along with CHILIWARE MEMBRANE.  If not, see <http://www.gnu.org/licenses/>.
//
//
#endregion

#region - Changes -
//
//	peter.vyvey@chiliware.be		2010-08-09		Created
//
#endregion

#region - Using -

using System.Runtime.Serialization;

#endregion

namespace Chiliware.Membrane.ExceptionManagement
{
	#region - ExceptionNumber -

	/// <summary>
	/// Enumeration with the exception numbers. These are always propagated to the presentation layer.
	/// </summary>
	[DataContract(Namespace = Namespace.FAULT_CONTRACT, Name = "ExceptionNumber")]
	public enum ExceptionNumber
	{
		#region - Workspace -

		/// <summary>
		/// UnexpectedError.
		/// </summary>
		[EnumMember]
		UnexpectedError = 0x00000100,

		/// <summary>
		/// MissingConfigurationFile.
		/// </summary>
		[EnumMember]
		MissingConfigurationFile = 0x00000200,

		#endregion

		#region - Session -

		/// <summary>
		/// EmptyCredentials.
		/// </summary>
		[EnumMember]
		EmptyCredentials = 0x01000100,

		/// <summary>
		/// InvalidCredentials.
		/// </summary>
		[EnumMember]
		InvalidCredentials = 0x01000110,

		/// <summary>
		/// DuplicateSession.
		/// </summary>
		[EnumMember]
		DuplicateSession = 0x01000120,

		/// <summary>
		/// InvalidSession.
		/// </summary>
		[EnumMember]
		InvalidSession = 0x01000130,

		/// <summary>
		/// SessionExpired.
		/// </summary>
		[EnumMember]
		SessionExpired = 0x01000140,

		#endregion

		#region - Security -

		/// <summary>
		/// ContextNotEmpty.
		/// </summary>
		[EnumMember]
		ContextNotEmpty = 0x02000100,

		/// <summary>
		/// ContextEmpty.
		/// </summary>
		[EnumMember]
		ContextEmpty = 0x02000110,

		/// <summary>
		/// InvalidContext.
		/// </summary>
		[EnumMember]
		InvalidContext = 0x02000120

		#endregion
	}

	#endregion
}
